/*
 * XML Type:  PathNode
 * Namespace: http:///org/isistan/flabot/coremodel.ecore
 * Java type: org.isistan.flabot.coremodelEcore.PathNode
 *
 * Automatically generated - do not modify.
 */
package org.isistan.flabot.coremodelEcore;


/**
 * An XML PathNode(@http:///org/isistan/flabot/coremodel.ecore).
 *
 * This is a complex type.
 */
public interface PathNode extends org.isistan.flabot.coremodelEcore.NoteElementModel
{
    public static final org.apache.xmlbeans.SchemaType type = (org.apache.xmlbeans.SchemaType)
        org.apache.xmlbeans.XmlBeans.typeSystemForClassLoader(PathNode.class.getClassLoader(), "schemaorg_apache_xmlbeans.system.sFBDCFB7615E0FAB3CF0394CF3AD1FE99").resolveHandle("pathnode4097type");
    
    /**
     * Gets array of all "extendedData" elements
     */
    org.isistan.flabot.coremodelEcore.EStringToEObjectMapEntry[] getExtendedDataArray();
    
    /**
     * Gets ith "extendedData" element
     */
    org.isistan.flabot.coremodelEcore.EStringToEObjectMapEntry getExtendedDataArray(int i);
    
    /**
     * Returns number of "extendedData" element
     */
    int sizeOfExtendedDataArray();
    
    /**
     * Sets array of all "extendedData" element
     */
    void setExtendedDataArray(org.isistan.flabot.coremodelEcore.EStringToEObjectMapEntry[] extendedDataArray);
    
    /**
     * Sets ith "extendedData" element
     */
    void setExtendedDataArray(int i, org.isistan.flabot.coremodelEcore.EStringToEObjectMapEntry extendedData);
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "extendedData" element
     */
    org.isistan.flabot.coremodelEcore.EStringToEObjectMapEntry insertNewExtendedData(int i);
    
    /**
     * Appends and returns a new empty value (as xml) as the last "extendedData" element
     */
    org.isistan.flabot.coremodelEcore.EStringToEObjectMapEntry addNewExtendedData();
    
    /**
     * Removes the ith "extendedData" element
     */
    void removeExtendedData(int i);
    
    /**
     * Gets array of all "previous" elements
     */
    org.isistan.flabot.coremodelEcore.PathNode[] getPreviousArray();
    
    /**
     * Gets ith "previous" element
     */
    org.isistan.flabot.coremodelEcore.PathNode getPreviousArray(int i);
    
    /**
     * Returns number of "previous" element
     */
    int sizeOfPreviousArray();
    
    /**
     * Sets array of all "previous" element
     */
    void setPreviousArray(org.isistan.flabot.coremodelEcore.PathNode[] previousArray);
    
    /**
     * Sets ith "previous" element
     */
    void setPreviousArray(int i, org.isistan.flabot.coremodelEcore.PathNode previous);
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "previous" element
     */
    org.isistan.flabot.coremodelEcore.PathNode insertNewPrevious(int i);
    
    /**
     * Appends and returns a new empty value (as xml) as the last "previous" element
     */
    org.isistan.flabot.coremodelEcore.PathNode addNewPrevious();
    
    /**
     * Removes the ith "previous" element
     */
    void removePrevious(int i);
    
    /**
     * Gets array of all "next" elements
     */
    org.isistan.flabot.coremodelEcore.PathNode[] getNextArray();
    
    /**
     * Gets ith "next" element
     */
    org.isistan.flabot.coremodelEcore.PathNode getNextArray(int i);
    
    /**
     * Returns number of "next" element
     */
    int sizeOfNextArray();
    
    /**
     * Sets array of all "next" element
     */
    void setNextArray(org.isistan.flabot.coremodelEcore.PathNode[] nextArray);
    
    /**
     * Sets ith "next" element
     */
    void setNextArray(int i, org.isistan.flabot.coremodelEcore.PathNode next);
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "next" element
     */
    org.isistan.flabot.coremodelEcore.PathNode insertNewNext(int i);
    
    /**
     * Appends and returns a new empty value (as xml) as the last "next" element
     */
    org.isistan.flabot.coremodelEcore.PathNode addNewNext();
    
    /**
     * Removes the ith "next" element
     */
    void removeNext(int i);
    
    /**
     * Gets array of all "path" elements
     */
    org.isistan.flabot.coremodelEcore.Path[] getPathArray();
    
    /**
     * Gets ith "path" element
     */
    org.isistan.flabot.coremodelEcore.Path getPathArray(int i);
    
    /**
     * Returns number of "path" element
     */
    int sizeOfPathArray();
    
    /**
     * Sets array of all "path" element
     */
    void setPathArray(org.isistan.flabot.coremodelEcore.Path[] pathArray);
    
    /**
     * Sets ith "path" element
     */
    void setPathArray(int i, org.isistan.flabot.coremodelEcore.Path path);
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "path" element
     */
    org.isistan.flabot.coremodelEcore.Path insertNewPath(int i);
    
    /**
     * Appends and returns a new empty value (as xml) as the last "path" element
     */
    org.isistan.flabot.coremodelEcore.Path addNewPath();
    
    /**
     * Removes the ith "path" element
     */
    void removePath(int i);
    
    /**
     * Gets the "previous" attribute
     */
    java.lang.String getPrevious2();
    
    /**
     * Gets (as xml) the "previous" attribute
     */
    org.apache.xmlbeans.XmlString xgetPrevious2();
    
    /**
     * True if has "previous" attribute
     */
    boolean isSetPrevious2();
    
    /**
     * Sets the "previous" attribute
     */
    void setPrevious2(java.lang.String previous2);
    
    /**
     * Sets (as xml) the "previous" attribute
     */
    void xsetPrevious2(org.apache.xmlbeans.XmlString previous2);
    
    /**
     * Unsets the "previous" attribute
     */
    void unsetPrevious2();
    
    /**
     * Gets the "next" attribute
     */
    java.lang.String getNext2();
    
    /**
     * Gets (as xml) the "next" attribute
     */
    org.apache.xmlbeans.XmlString xgetNext2();
    
    /**
     * True if has "next" attribute
     */
    boolean isSetNext2();
    
    /**
     * Sets the "next" attribute
     */
    void setNext2(java.lang.String next2);
    
    /**
     * Sets (as xml) the "next" attribute
     */
    void xsetNext2(org.apache.xmlbeans.XmlString next2);
    
    /**
     * Unsets the "next" attribute
     */
    void unsetNext2();
    
    /**
     * Gets the "extendedData" attribute
     */
    java.lang.String getExtendedData2();
    
    /**
     * Gets (as xml) the "extendedData" attribute
     */
    org.apache.xmlbeans.XmlString xgetExtendedData2();
    
    /**
     * True if has "extendedData" attribute
     */
    boolean isSetExtendedData2();
    
    /**
     * Sets the "extendedData" attribute
     */
    void setExtendedData2(java.lang.String extendedData2);
    
    /**
     * Sets (as xml) the "extendedData" attribute
     */
    void xsetExtendedData2(org.apache.xmlbeans.XmlString extendedData2);
    
    /**
     * Unsets the "extendedData" attribute
     */
    void unsetExtendedData2();
    
    /**
     * Gets the "path" attribute
     */
    java.lang.String getPath2();
    
    /**
     * Gets (as xml) the "path" attribute
     */
    org.apache.xmlbeans.XmlString xgetPath2();
    
    /**
     * True if has "path" attribute
     */
    boolean isSetPath2();
    
    /**
     * Sets the "path" attribute
     */
    void setPath2(java.lang.String path2);
    
    /**
     * Sets (as xml) the "path" attribute
     */
    void xsetPath2(org.apache.xmlbeans.XmlString path2);
    
    /**
     * Unsets the "path" attribute
     */
    void unsetPath2();
    
    /**
     * A factory class with static methods for creating instances
     * of this type.
     */
    
    public static final class Factory
    {
        public static org.isistan.flabot.coremodelEcore.PathNode newInstance() {
          return (org.isistan.flabot.coremodelEcore.PathNode) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, null ); }
        
        public static org.isistan.flabot.coremodelEcore.PathNode newInstance(org.apache.xmlbeans.XmlOptions options) {
          return (org.isistan.flabot.coremodelEcore.PathNode) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, options ); }
        
        /** @param xmlAsString the string value to parse */
        public static org.isistan.flabot.coremodelEcore.PathNode parse(java.lang.String xmlAsString) throws org.apache.xmlbeans.XmlException {
          return (org.isistan.flabot.coremodelEcore.PathNode) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xmlAsString, type, null ); }
        
        public static org.isistan.flabot.coremodelEcore.PathNode parse(java.lang.String xmlAsString, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
          return (org.isistan.flabot.coremodelEcore.PathNode) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xmlAsString, type, options ); }
        
        /** @param file the file from which to load an xml document */
        public static org.isistan.flabot.coremodelEcore.PathNode parse(java.io.File file) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (org.isistan.flabot.coremodelEcore.PathNode) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( file, type, null ); }
        
        public static org.isistan.flabot.coremodelEcore.PathNode parse(java.io.File file, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (org.isistan.flabot.coremodelEcore.PathNode) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( file, type, options ); }
        
        public static org.isistan.flabot.coremodelEcore.PathNode parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (org.isistan.flabot.coremodelEcore.PathNode) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, null ); }
        
        public static org.isistan.flabot.coremodelEcore.PathNode parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (org.isistan.flabot.coremodelEcore.PathNode) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, options ); }
        
        public static org.isistan.flabot.coremodelEcore.PathNode parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (org.isistan.flabot.coremodelEcore.PathNode) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, null ); }
        
        public static org.isistan.flabot.coremodelEcore.PathNode parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (org.isistan.flabot.coremodelEcore.PathNode) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, options ); }
        
        public static org.isistan.flabot.coremodelEcore.PathNode parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (org.isistan.flabot.coremodelEcore.PathNode) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, null ); }
        
        public static org.isistan.flabot.coremodelEcore.PathNode parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (org.isistan.flabot.coremodelEcore.PathNode) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, options ); }
        
        public static org.isistan.flabot.coremodelEcore.PathNode parse(javax.xml.stream.XMLStreamReader sr) throws org.apache.xmlbeans.XmlException {
          return (org.isistan.flabot.coremodelEcore.PathNode) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( sr, type, null ); }
        
        public static org.isistan.flabot.coremodelEcore.PathNode parse(javax.xml.stream.XMLStreamReader sr, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
          return (org.isistan.flabot.coremodelEcore.PathNode) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( sr, type, options ); }
        
        public static org.isistan.flabot.coremodelEcore.PathNode parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
          return (org.isistan.flabot.coremodelEcore.PathNode) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, null ); }
        
        public static org.isistan.flabot.coremodelEcore.PathNode parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
          return (org.isistan.flabot.coremodelEcore.PathNode) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, options ); }
        
        /** @deprecated {@link org.apache.xmlbeans.xml.stream.XMLInputStream} */
        public static org.isistan.flabot.coremodelEcore.PathNode parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return (org.isistan.flabot.coremodelEcore.PathNode) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
        
        /** @deprecated {@link org.apache.xmlbeans.xml.stream.XMLInputStream} */
        public static org.isistan.flabot.coremodelEcore.PathNode parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return (org.isistan.flabot.coremodelEcore.PathNode) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
        
        /** @deprecated {@link org.apache.xmlbeans.xml.stream.XMLInputStream} */
        public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
        
        /** @deprecated {@link org.apache.xmlbeans.xml.stream.XMLInputStream} */
        public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
        
        private Factory() { } // No instance of this class allowed
    }
}
